package com.itheima.algorithm.datastructure;

import java.util.Arrays;

/**
 * 合并两个有序数组
 */
public class Leetcode88 {
    public static void merge(int[] nums1, int m, int[] nums2, int n) {
        int [] nums1_copy = new int[m];
        System.arraycopy(nums1,0,nums1_copy,0,m);

        int i=0;
        int j=0;
        int k=0;

        while (i<m && j< n){
            if(nums1_copy[i]<nums2[j]){
                nums1[k]=nums1_copy[i];
                i++;
            }else{
                nums1[k]=nums2[j];
                j++;
            }
            k++;
        }
        if(i<m){
            System.arraycopy(nums1_copy,i,nums1,i+j,m+n-i-j);
        }
        if(j<n){
            System.arraycopy(nums2,j,nums1,i+j,m+n-i-j);
        }


    }

    public static void merge2(int[] nums1, int m, int[] nums2, int n) {
        System.arraycopy(nums2,0,nums1,m,n);
        Arrays.sort(nums1);

    }



    public static void main(String[] args) {
        int[] nums1 = {1,2,3,0,0,0};
        int[] nums2 = {2,5,6};

        int m=3;
        int n=3;
        merge2(nums1, m, nums2, n);
        System.out.println(Arrays.toString(nums1));
    }
}
